/*
 * File   : includes/getabsmod.h
 * Author : Nandakiran Kirubanandan
 * 
 * This file contains the declarations for the stack operations, and
 * the actual function getabsmod.
 *
 */
#ifndef __getabsmod_h
#define __getabsmod_h
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stddef.h>

/* 
 * Displays debug info for the the stack operations performed during
 * the getabsmod call.
 *
 */
//#define DEBUG

/*
 * Stack structure
 *
 */
struct stack {
    char *data;
    struct stack *next;
}; 

/*
 * Stack operation push
 *
 */
void push(char *str,struct stack **top);

/*
 * Stack operation pop
 *
 */
char* pop(struct stack **top);
/*
 * Function Name : getabsmod
 * 	Converts a relative location to the absolute location.
 * Parameters    :
 *              rel	  : string
 *                      Relative name of the file.
 * Return Type   : string
 * 		Returns the absolute location of the file.
 *
 */
char* getabsmod(char *rel);

#endif
